package com.sheng.handler;

import com.sheng.common.Result;
import com.sheng.common.ResultEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @Author: 王胜
 * @Date 2022/11/19 19:41
 */
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {

    /**
     * 处理自定义异常
     * @return Result
     * @ExceptionHandler 说明捕获哪些异常，对那些异常进行处理。
     */
//    @ExceptionHandler(value = DefinitionException.class)
//    public Result<Object> customExceptionHandler(DefinitionException e) {
//        return Result.defineError(e);
//    }

    /**
     * 处理其他异常
     * @return Result
     */
    @ExceptionHandler(value = Exception.class)
    public Result<Object> exceptionHandler(Exception e) {
        log.error(e.toString());
        return new Result<>(ResultEnum.UnknownException.getCode(),ResultEnum.UnknownException.getMsg(),null);
    }
}